]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Initialize ShellAppMonitor/ShellAppSystem at predicatable time
authorColin Walters <walters@verbum.org>
Wed, 12 Aug 2009 17:32:54 +0000 (13:32 -0400)
committerColin Walters <walters@verbum.org>
Wed, 12 Aug 2009 21:10:17 +0000 (17:10 -0400)
Currently ShellAppMonitor relies on all the .desktop files being
loaded.  We should initialize it very early to ensure that anything
that uses it has up-to-date information right away.

js/ui/main.js

index b9e1c86c76c96d73adf2889ffc54bf1ada059d26..4bae9326919f0c1aa7acefe4f7e9df00dede2a07 100644 (file)
@@ -40,6 +40,16 @@ function start() {
 
     Tweener.init();
 
+    // Ensure ShellAppMonitor is initialized; this will
+    // also initialize ShellAppSystem first.  ShellAppSystem
+    // needs to load all the .desktop files, and ShellAppMonitor
+    // will use those to associate with windows.  Right now
+    // the Monitor doesn't listen for installed app changes
+    // and recalculate application associations, so to avoid
+    // races for now we initialize it here.  It's better to
+    // be predictable anyways.
+    Shell.AppMonitor.get_default();
+
     // The background color really only matters if there is no desktop
     // window (say, nautilus) running. We set it mostly so things look good
     // when we are running inside Xephyr.
@@ -64,7 +74,7 @@ function start() {
     panel = new Panel.Panel();
     sidebar = new Sidebar.Sidebar();
     wm = new WindowManager.WindowManager();
-    
+
     global.screen.connect('toggle-recording', function() {
         if (recorder == null) {
             recorder = new Shell.Recorder({ stage: global.stage });